// 标识数据状态
import { AccountType, WindUser } from '@/global';

export enum ApiCode {
  Success = 200, // 成功
  Fail = 100, // 失败
  NotLogin = 302 // 未登录
}

// 分页类
export interface Page {
  pageLimit: number; // 一页有多少数据
  pageIndex: number; // 第几页
  total?: number; // 数据总量
  order?: string; // 排序字段
}

// 请求结果类
export interface ApiResult<T> {
  page: Page | null; // 分页数据
  msg: string | null; // 数据请求失败后返回的信息
  apiCode: ApiCode; // 请求状态
  result: T; // 返回的结果
}

// 请求的后端地址的枚举
export const enum RequestUrlEnum {
  /**
   * 账户有关接口
   */
  adminLogin = '/admin/wind_account/login',
  windAccountList = '/admin/wind_account/get_list',
  windAccountDelete = '/admin/wind_account/delete_account',
  windBindUser = '/admin/wind_account/set_bind_user',
  /**
   * 用户有关接口
   */
  windUserList = '/admin/wind_user/get_list',
  windUserBoundAccounts = '/admin/wind_user/get_bound_accounts',
  windUserDelete = '/admin/wind_user/delete_user',
  windUserActive = '/admin/wind_user/active_user'
}

export interface AuthToken{
  token: string;
}

export interface RequestLoginUser{
  loginAccountName: string;
  loginPassword?: string;
  loginAccountType: AccountType;
}

export interface ResponseLoginUserInfo{
  token: string;
  userInfo: WindUser;
}
